<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- 引入主题样式 -->
<link href="${pageContext.request.contextPath}/themes/bootstrap/easyui.css" rel="stylesheet">
<!-- 引入图表样式 -->
<link href="${pageContext.request.contextPath}/themes/icon.css" rel="stylesheet">
<!-- 引入jquery -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.9.1.js"></script>
<!-- 引入easyui.js -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.easyui.min.js"></script>
<!-- 引入easyui本地语言js -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui-lang-zh_CN.js"></script>
<title>部门管理</title>
<script type="text/javascript">
	$(function(){
		//表格勾选事件
		$('#deptable').datagrid({
			onCheck: function (rowIndex)
            {
                var row = $('#deptable').datagrid('getSelected');
                $("input").remove(".italic");
                $("label").remove(".italic");
                if (row) {
					$.ajax({
						type:'post',
						url:'${pageContext.request.contextPath}/findcurrentfunc',
						data:{"did":row.did},
						dataType:'json',
						success:function(result){
							jQuery.each(result,function(key,value){
								if(value.ischecked==1){									
							    	$("#funclist1").after("<input class='italic' type='checkbox' checked='checked' value="+value.func.fid+" name='func'/>"+"<label class='italic'>"+value.func.fname+"</label>");
							    }else{
							    	$("#funclist1").after("<input class='italic' type='checkbox'  value="+value.func.fid+" name='func'/>"+"<label class='italic'>"+value.func.fname+"</label>");
							    }
			               }) 
						}
					})
                }
                
            }
			});
		//表格点击事件
		$('#deptable').datagrid({
			onClickRow: function (rowIndex)
            {
				
				 var row = $('#deptable').datagrid('getSelected');
				  $("input").remove(".italic");
	                $("label").remove(".italic");
	                if (row) {
						$.ajax({
							type:'post',
							url:'${pageContext.request.contextPath}/findcurrentfunc',
							data:{"did":row.did},
							dataType:'json',
							success:function(result){
								jQuery.each(result,function(key,value){
									if(value.ischecked==1){										
								    	$("#funclist1").after("<input class='italic' type='checkbox' checked='checked' value="+value.func.fid+" name='func'/>"+"<label class='italic'>"+value.func.fname+"</label>");
								    }else{
								    	$("#funclist1").after("<input class='italic' type='checkbox'  value="+value.func.fid+" name='func'/>"+"<label class='italic'>"+value.func.fname+"</label>");
								    }
				               }) 
							}
						})
	                }
                
            }
			});
		//去掉文本框中的空格
		$('#addbtn').click(function(){
			$('input').each(function(){
				
				var val=this.value;
				val=$.trim(val);
				this.value=val;				
			})
		})
		//所有修改表单中input不能为空
		$('#addbtn').click(function(){
			$('.add').each(function(){
				var txt=$(this).prev('h4').text();
				if(this.value==""){
					alert(txt+'不能为空');
				}
			})
		})
		//所有增加表单中input不能为空
		$('#addbtn1').click(function(){
			$('.addd').each(function(){
				var txt=$(this).prev('h4').text();
				if(this.value==""){
					alert(txt+'不能为空');
				}
			})
		})
		//生成部门表格
		$('#deptable').datagrid({
			pageList:[5,10,20,30,40,50],
		    url:'${pageContext.request.contextPath}/findalldep',    
		    columns:[[ 
				{field : 'checked',	checkbox : true,width : 150,resizable:false,},
		        {field:'did',title:'部门编号',width:100,hidden:true,resizable:false,},    
		        {field:'dname',title:'部门名称',width:150,resizable:false,},    
		        {field:'ddes',title:'部门描述',width:200,resizable:false,},
		        {field:'dfuncs',title:'部门功能',width:1500,align:'left',},
		    ]],
		    toolbar: [{
				iconCls: 'icon-add',
				text:'增加',
				handler: function(){
					$("input").remove(".italic");
	                $("label").remove(".italic");
	                $.ajax({
						type:'post',
						url:'${pageContext.request.contextPath}/findafuncs',
						dataType:'json',
						success:function(result){
							jQuery.each(result,function(key,value){
							    	$("#funclist2").after("<input class='italic' type='checkbox'  value="+value.func.fid+" name='func'/>"+"<label class='italic'>"+value.func.fname+"</label>");
							  }) 
						},
			               });
					//显示增加窗口
					$('#depwin').window('open');
		        	$("#depform").form('clear'),
					//ajax判断部门名是否已经存在
					$("#dname2").blur(function(){
						//定义 JS 中的正则表达式。直接使用即可。 
		    			//部门名只能为汉字
		    			var reg = /[\u4e00-\u9fa5]/g;
		    			
		    			var val = $("#dname2").val();
		    			
		    			//使用正则进行验证
		    			if(!reg.test(val)){
		    				alert("部门名必须为汉字!");
		    			}
						var dname=$("#dname2").val();
						$.ajax({
							type:'post',
							url:'${pageContext.request.contextPath}/findDname',
							data:{"dname":dname},
							dataType:'text',
							success:function(result){
								if(result=="1"){
									$.messager.alert('警告','该部门名已存在');
									$("#depform").form('clear');
								}
							}
						})
						
					})
					//配置增加表单提交事件
					$('#depform').form({   
					    url:'${pageContext.request.contextPath}/adddep',   
					    success:function(data){    
					        if(data=="1"){
					        	$.messager.alert('提示','增加成功'); 
					        	$('#deptable').datagrid('reload');
					        	$('#depwin').window('close');
					        }else{
					        	$.messager.alert('提示','增加失败');
					        }   
					    }    
					});
				}
			},'-',{
				iconCls: 'icon-remove',
				text:'删除',
				handler: function(){
					//获取选中行并删除
					var selRow=$('#deptable').datagrid('getSelections');
					if(selRow.length>0){
						$.messager.confirm("确认消息", "确定要删除所选记录吗？", function (isDelete) {  							  
					        //如果为真的话  
					        if (isDelete) {  
					            //定义变量值  
					            var strIds = "";  
					            //拼接字符串，这里也可以使用数组，作用一样  
					            for (var i = 0; i < selRow.length; i++) {  
					                strIds += selRow[i].did + ",";  
					            }  
					          //ajax提交删除事件  
				                $.ajax({  
				                    type: "POST",   
				                    url: "${pageContext.request.contextPath}/deldep",  
				                    data: {"strIds":strIds},  
				                    datatype:"text",
				                    success: function (result) {  
				                        if (result=="1") {  
				                            $('#deptable').datagrid('clearSelections');  
				                            $.messager.alert("提示", "恭喜您，信息删除成功！", "info");  
				                            $('#deptable').datagrid('reload');  
				                        } else {  
				                            $.messager.alert("提示", "删除失败，请重新操作！", "info");  
				                            return;  
				                        }  
				                    }  
				                });  
					        }  
					    });  
					}else{
						$.messager.alert('提示','请至少选择一个管理员进行操作'); 
					} 
					
				}
			},'-',{
				iconCls: 'icon-edit',
				text:'修改',
				handler: function(){
					//修改表单部门名移出事件进行验证
					$("#dname1").blur(function(){
						//定义 JS 中的正则表达式。直接使用即可。 
		    			//部门名只能为汉字
		    			var reg = /[\u4e00-\u9fa5]/g;
		    			
		    			var val = $("#dname1").val();
		    			
		    			//使用正则进行验证
		    			if(!reg.test(val)){
		    				alert("部门名必须为汉字!");
		    			}
					})
					//获取选中行进行验证
					var selRow=$('#deptable').datagrid('getSelections');
					if (selRow.length != 1) {
						$.messager.confirm('提示', '请选择一条数据', function(r) {
							if (r) {
								$("#deptable").datagrid('unselectAll');
							}
						})
					} else {
						//显示修改窗口
						$('#addwin').window('open');
						var admin = selRow[0];
						 $('#addform').form('load',admin);
						//配置修改表单提交事件
							$('#addform').form({    
							    url:'${pageContext.request.contextPath}/updatedep',   
							    success:function(data){    
							        if(data=="1"){
							        	$.messager.alert('提示','修改成功'); 
							        	$('#deptable').datagrid('reload');
							        	$('#addwin').window('close');
							        	$("#addform").form('clear');
							        }else{
							        	$.messager.alert('提示','修改失败');
							        }   
							    }    
							});

					}
				}
			}],
			rownumbers:true,
		    striped:true,
		    pagination:true,
		    resizable:false,
		}); 
		//配置搜索框搜索事件
		$('#searchdep').searchbox({ 
			searcher:function(value,name){ 
			var depname=value;
			$('#deptable').datagrid('reload',{
				searchname:depname
			})
			}
		}); 
		//默认窗口隐藏
		$('#depwin').window('close');
		$('#addwin').window('close');

	})
	//js修改表单单击触发更新提交事件
	function yesadmin(){
		$("#addform").form('submit');
	}
	//js增加表单单击触发增加提交事件
	function addadmin(){
		$("#depform").form('submit');
	}
	//取消按钮
	function quitadd(){
		$('#addwin').window('close');
		$('#depwin').dialog('close');
		//$("#depform").form('clear');
		//$("#addform").form('clear');
	}
</script>
</head>
<body style="background:url(../images/44.jpg);width: 100%; height: 100%">
<!-- 搜索框 -->
<input id="searchdep" class="easyui-searchbox" style="width:300px" data-options="prompt:'请输入部门名进行查找'"></input> 
<!-- 部门表格 -->
<table id="deptable"></table>
<!--修改表单-->
<div id="addwin" class="easyui-window" title="部门管理" style="width:600px;height:400px;text-align: center" data-options="shadow:true,modal:true,resizable:false,draggable:false,maximizable:false, minimizable:false,closable:false,">
   <form id="addform" method="post">   
    <div>   
        <input class="easyui-validatebox" type="text" name="did" style="display: none"/>   
    </div>   
    <div style="margin: 15px">   
        <h4>部门名字</h4>   
        <input class="add easyui-validatebox" type="text" name="dname" id="dname1" /> 
    </div>
        <div>   
        <h4>部门描述</h4>   
        <input class="add easyui-validatebox" type="text" name="ddes"  />   
    </div >
     <div style="margin: 15px" id="funclist1"> 
     <h4>权限管理</h4>   
    </div>
    <br>
    <!-- 提交/取消按钮 -->
    <a id="addbtn" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="yesadmin()" style="margin: 5px">确定</a>
	<a id="quit1btn" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="quitadd()" style="margin: 5px">取消</a>             
</form>
<!-- 增加表单 -->
<div id="depwin" class="easyui-window" title="部门管理" style="width:600px;height:400px;text-align: center" data-options="shadow:true,modal:true,resizable:false,draggable:false,maximizable:false, minimizable:false,">
   <form id="depform" method="post">   
    <div>   
        <input class="easyui-validatebox" type="text" name="did" style="display: none"/>   
    </div>   
    <div style="margin: 15px">   
        <h4>部门名字</h4>   
        <input class=" addd easyui-validatebox" type="text" name="dname" id="dname2" /> 
    </div>
        <div>   
        <h4>部门描述</h4>   
        <input class="addd easyui-validatebox" type="text" name="ddes"  />   
    </div >
     <div style="margin: 15px" id="funclist2">    
        <h4>权限管理</h4>
    </div>
     <!-- 提交/取消按钮 -->
     <br>
    <a id="addbtn1" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="addadmin()" style="margin: 5px">确定</a>
	<a id="quit1btn" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="quitadd()" style="margin: 5px">取消</a>             
</form>

 

</div> 
 

</div>    
</body>
</html>